#ifndef _norm_1_hpp_
#define _norm_1_hpp_

#include "detail/norm_1_impl.hpp"

namespace core {

    namespace math {

        /** \brief \f$ || . ||_1 \f$*/
        template<class T>
            typename field<T>::type   norm_1(const T& v)
            {
                typedef typename detail::choose_norm_1_impl<T>::type impl_type;
                return impl_type::eval(v);
            }
    } // namespace math

} // namespace core

#endif // _norm_1_hpp_
